#include <iostream>
#include <fstream>
#include "matrizDeAtaque.h"
#include <time.h>
#include <cstdlib>
#include <stdlib.h>

#define CANTPRUEBAS 300

using namespace std;

int main (int argc, char* argv[]) {

	int i,j,k,n;
	double** matriz;
	srand(time(NULL));
	ofstream salida ("matrices.m");
	salida << "fi = fopen('resultados.txt','w');" << endl;

	for (k = 0; k < CANTPRUEBAS; k++) {

		n = rand() % 50 + 1;
        double* posicion = new double[n];
        double* posEnemigo = new double[n];

		for(i = 0; i < n; i++)
		{
		    posicion[i] = 100.0 * rand() / (double)RAND_MAX;
		    posEnemigo[i] = 100.0 * rand() / (double)RAND_MAX;
		}

		matriz = transformacion2 (posicion, posEnemigo, n);

		salida << "A = [";
		for (i = 0; i < n; i++) {
			for (j = 0; j < n; j++) {
				salida << matriz [i][j] << " ";
			}
			if (i != n - 1)
                salida << ";";
		}
		// Pasamos la salida a un archivo .m para luego ejecutarlo en MATLAB y obtener los números de condición
		salida << "]" << ";" << endl;
		salida << "k = cond(A);" << endl;
		salida << "fprintf (fi,'%f',k);" << endl;
		salida << "fprintf (fi, '\\n');" << endl << endl;

		delete[] posicion;
        delete[] posEnemigo;
	}
    salida << "fclose(fi);" << endl;
	return 0;
}
